/*
  Count的容器组件
*/

// 引入UI组件
import CountUI from '../../components/Count'

// 引入connect，用于连接UI组件和redux
import {connect} from 'react-redux'

// 引入action对象
import {createIncrementAction, createDecrementAction, createIncrementAsyncAction} from '../../redux/count_action'

// 返回一个对象，key:value 对应于props的 key:value ---- 状态
function mapStateToProps(state){
  return {count:state}
}

// 返回一个对象，key:value 对应于props的 key:value ---- 操作状态的方法
function mapDispatchToProps(dispatch){
  return {
    increment: data => dispatch(createIncrementAction(data)),
    decrement: data => dispatch(createDecrementAction(data)),
    asyncIncrement: (data,time) => dispatch(createIncrementAsyncAction(data,time))
  }
}


// 创建并暴露Count的容器组件
// 传入的两个参数必须为函数，函数的返回值作为props
export default connect(mapStateToProps,mapDispatchToProps)(CountUI)